Я пытаюсь найти самый популярный элемент в своих таблицах, используя sqlite

#sql #sqlite #count #max

#sql #sqlite #количество #макс

Вопрос:

Привет всем, я, кажется, застрял, и я надеюсь, что вы, ребята, сможете мне здесь помочь. Я пытаюсь написать код, который будет отображать только наиболее заказанный элемент питания и сколько раз его заказывали, не добавляя, например, где количество > 5 или что-то в этом роде. Я просто хочу, чтобы код предоставлял мне наиболее упорядоченный элемент сам по себе, у меня есть эти таблицы:

ROOMSERVICE

  • Тип RoomServiceNumber (первичный ключ): целое число
  • Тип порядкового номера: целое число
  • Тип идентификатора гостя: целое число
  • Тип даты: DateTime
  • Тип времени: DateTime
  • Тип итоговой цены: целое число

RSLINEITEM

  • Тип OrderNumber (первичный ключ): целое число
  • Тип номера элемента: целое число
  • Тип количества: целое число

ЭЛЕМЕНТ

  • Тип ItemNumber (первичный ключ): целое число
  • Тип описания: Текст
  • Тип цены: целое число

До сих пор я получил свой sql-код, который показывает мне все элементы (описание) и количество элементов, которые были заказаны. Мне нужен только самый упорядоченный элемент.

Мой код:

 SELECT Description, SUM(Quantity) AS NumberofTimesOrdered
FROM RSLINEITEM JOIN ITEM ON (RSLINEITEM.ItemNumber=ITEM.ItemNumber)
GROUP BY Description 
  

Мои результаты:

    Description       NumberofTimesOrdered
   Baked Potato      1
   Bud Light Bottle  2
   French Fries      1
   Heineken Bottle   2
   Large Coke        1
   Large Sprite      3
   Pork Cutlet       4
   Prime Rib         6
   Orange Juice      1
  

Я только хочу, чтобы мой код показывал мне что-то вроде этого:

    Description       NumberofTimesOrdered
   Prime Rib         6
  

Ответ №1:

Используйте ORDER BY и LIMIT .

 SELECT Description
      ,SUM(Quantity) AS NumberofTimesOrdered
FROM   RSLINEITEM
JOIN   ITEM USING (ItemNumber)
GROUP  BY Description 
ORDER  BY 2 DESC
LIMIT  1
  

Вы можете повторить выражение в предложении ORDER BY или использовать порядковый номер. Руководство об этом:

Если ПОРЯДОК ПО выражению является постоянным целым числом K, то выражение считается псевдонимом для K-го столбца результирующего набора (столбцы нумеруются слева направо, начиная с 1).

Я также упростил код с помощью USING . Информация из того же источника.