Ruby on Rails: Finden Sie den Datensatz mit dem niedrigsten Wert in einer bestimmten Spalte
Ich bin auf der Suche nach einem Datensatz in der Datenbank, das den niedrigsten Wert der datetime-Spalte. In einfacheren Worten, ich möchte einen Datensatz mit der frühesten Zeit.
Kann ich verwenden minimum zu finden, der niedrigste Wert, aber das wird nur der Wert selbst, und nicht die ganze Platte.
Ich glaube, ich könnte erstellen Sie eine weitere Abfrage, aber ich Frage mich, ob es eine effizientere Art und Weise, dies zu tun.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dies funktionieren wird:
—Wo Modell ist der name der model-Klasse und Spalte ist der name des datetime-Spalte. Es generiert diese SQL-Anweisung:
.first
und'asc'
innerhalb der argument-hash zu:order
first
die Abfrage zurückgeben würde mehrere Datensätze.@Ravenstine von rails 3, die folgende korrekte syntax
Ich bin mir nicht sicher über RoR, aber mit SQL können Sie einfach Sortieren Sie die Ergebnisse Ihrer Suchanfrage, indem Sie die datetime-Feld und die Anzahl der Ergebnisse zu 1.
SQL:
Oder vielleicht in Ruby (nicht sicher wenn):