So erhalten Sie die Anzahl der Datensätze durch Abgleichen einer Zeichenfolge

Petros Kyriakou

Ich habe ein Servicemodell mit 3 Schlüsselwörtern. Und ich habe ein Verkaufsmodell, das die Anzahl der Dienstleistungen zählt, die für Kunden erbracht werden. Ich versuche, einen statistischen Bericht zu erstellen, und was möchte ich fragen, wie ich die Anzahl der von einem Dienst verkauften Dienste am besten ermitteln kann?

Zum Beispiel habe ich Service A, der 10 Mal verkauft wurde, Service B, der 20 Mal verkauft wurde usw. Wie erhalte ich diese Werte einfach und programmgesteuert?

Ich möchte nicht einzeln nach dem Verkaufsmodell für jede Serviceinstanz suchen.

Was ist der beste Weg, um es zu tun?

class Sale < ApplicationRecord

  has_many :sale_services
  has_many :services, :through => :sale_services

end

class Service < ApplicationRecord
  has_many :sale_services
  has_many :sales, through: :sale_services
end

class SaleService < ApplicationRecord
  belongs_to :sale, optional: true
  belongs_to :service, optional: true
end

Jeder Service hat einen Preis, und jeder Verkauf hat ein total_price-Attribut, das von der Anzahl der in diesem bestimmten Verkauf verkauften Services abhängt.

Leistung

Kannst du das versuchen? Hier gehe ich davon aus, dass der Umsatz pro Service die Häufigkeit ist, mit der der Service verkauft wird.

Service.includes(:sales).group("services.name").count("sales")

Dies sollte zu einem Ergebnis führen wie:

service_posts = {"service1"=>7, "service2"=>2, "service3"=>0, "service4"=>3, "service5"=>4}

Wenn Sie die Preise erhalten möchten, müssen Sie Folgendes tun:

service_prices = {}
Service.includes(:sales).each do |service|
  service_prices[service.name] = service_posts[service.name] * service.price
end

service_prices enthält also die Preise für jeden Service.

Dieser Artikel stammt aus dem Internet. Bitte geben Sie beim Nachdruck die Quelle an.

Bei Verstößen wenden Sie sich bitte [email protected] Löschen.

bearbeiten am
0

Lass mich ein paar Worte sagen

0Kommentare
LoginNach der Teilnahme an der Überprüfung

Verwandte Artikel

So erhalten Sie die Anzahl der verfügbaren Guid aus einer durch Kommas getrennten Guid-Zeichenfolge

Löschen Sie eine Anzahl von Datensätzen, die durch die Anzahl der Datensätze in einer Tabelle angegeben wird

So erhalten Sie die Anzahl der Datensätze mit der group by-Klausel

So filtern Sie Datensätze basierend auf mehr als einer Eigenschaft und erhalten die Anzahl

So erhalten Sie die Anzahl der FireDAC-Datensätze, wenn SetRange aktiv ist

So erhalten Sie die Anzahl der Datensätze, wenn die Anzahl bereits in der Gruppe nach Funktion verwendet wird

So erhalten Sie mithilfe der LINQ-Abfrage die Anzahl bestimmter Datensätze, die in Großbuchstaben, niedriger oder einer Kombination gespeichert sind

So erhalten Sie mithilfe von MySQL die Anzahl der Datensätze aus 2 Tabellen basierend auf dem Wert in einer bestimmten Spalte aus der ersten Tabelle

So erhalten Sie die Anzahl der entsprechenden Zeichen am Anfang einer Zeichenfolge

So erhalten Sie die URI der Datensätze, die von einer optischen Abfrage zurückgegeben werden

So erhalten Sie die Anzahl der Zeilen durch Auswahl einer Abfrage mit MySQL

So bestimmen Sie die Anzahl der Datensätze in einer Sokkata-Tabelle

So ermitteln Sie die DURCHSCHNITTLICHE Anzahl der zugeordneten Datensätze

So zeigen Sie die Anzahl der Datensätze an

So finden Sie die Anzahl der Datensätze in ResultSet

So erhalten Sie die Kategorien der Datensätze

So erhalten Sie die Summe der SQLite-Spalten durch Abgleichen der ID

So erhalten Sie die Anzahl der Aktualisierungsdatensätze von Hive

So berechnen Sie die Anzahl der Elemente in einer Zeichenfolge

So erhalten Sie die Anzahl der Vorkommen in einer anderen Tabelle

So erhalten Sie nur die Anzahl der Zeilen einer Datei

So erhalten Sie die Anzahl der Dokumente in einer Sammlung in Firestore

So erhalten Sie die Anzahl der Zeichen in einer Textdatei in C

So ermitteln Sie die Anzahl der Datensätze in einer Tabelle anhand von zwei Datumsfeldern in einer anderen Tabelle

So begrenzen Sie die Anzahl der Datensätze in der MySQL-Tabelle basierend auf einer bestimmten Kategorie

Links verbinden Sie zwei Tabellen und erhalten Sie die Anzahl der Datensätze in der zweiten Tabelle

Erhalten Sie die Anzahl der Datensätze in der Tabellengruppe nach Jahr

So ersetzen Sie mehrere nacheinander in einer Zeichenfolge platzierte Zahlen durch die Anzahl und die Nummer selbst

So erhalten Sie Werte, die nicht in der ersten oder letzten in einer durch Kommas getrennten Zeichenfolge, sondern in der Mitte der Zeichenfolge in MySQL indiziert sind

TOP Liste

  1. 1

    Wie kann ich in SCSS mehrere Klassen zu einer einzigen kombinieren?

  2. 2

    Eclipse Oxygen - Projekte verschwinden

  3. 3

    ElasticSearch BulkShardRequest ist aufgrund von org.elasticsearch.common.util.concurrent.EsThreadPoolExecutor fehlgeschlagen

  4. 4

    Wie erstelle ich einen neuen übergeordneten Knoten außerhalb der .ref (/ path) in der Firebase-Echtzeitdatenbank mithilfe von Cloud-Funktionen (Typescript)?

  5. 5

    Wie kann ich den Kaskadenmodus global einstellen?

  6. 6

    So erhalten Sie eine gleichmäßige Höhe für alle Eingabefelder

  7. 7

    Wie konvertiert man einen Datenrahmen im langen Format in eine Liste mit einem geeigneten Format?

  8. 8

    Wie konvertiere ich einen Vektor von Bytes (u8) in eine Zeichenfolge?

  9. 9

    Modbus Python Schneider PM5300

  10. 10

    Gruppieren Sie Datenrahmenspalten nach ihrem Datum (die Spaltentitel enthalten) und fassen Sie die Instanzen von Einsen und Nullen in R . zusammen

  11. 11

    Ärgerliches Problem mit yaml, das ich nicht lösen kann

  12. 12

    So legen Sie mit dem Interface Builder unterschiedliche führende Speicherplätze für unterschiedliche Geräte fest

  13. 13

    So berechnen Sie die Verfügbarkeit von Anwendungen (SLA)

  14. 14

    Tic Tac Toe-Spiel im React-Reset-Button funktioniert nicht

  15. 15

    Wie kann ich meine Tabelle abfragen, um sie in mySQL nach 2 Feldern zu gruppieren?

  16. 16

    Wie kann eine gleichmäßige Lastverteilung in ElasticSearch mit Indizes mit unterschiedlicher Anzahl von Shards erreicht werden?

  17. 17

    ElasticSeach Auto Complete mit dem Vervollständigungsvorschlag, um das vollständige Dokument zurückzugeben

  18. 18

    Python: Spalten mit demselben Namen zusammenführen, wobei der Mindestwert beibehalten wird

  19. 19

    Wie wählt man Unterschiede mit drei Tabellen aus?

  20. 20

    Speichern Sie ein MPAndroidChart-Diagramm in einem Bild, ohne es in einer Aktivität anzuzeigen

  21. 21

    Tomcat - Leiten Sie den alten Kontextstamm zum neuen Kontextstamm um

heißlabel

Archiv