特定の列に 0 などの特定の値がない行を選択しようとしていますが、これを機能させることができません。
SELECT *
FROM rentals
GROUP BY date, rooms, price
HAVING show_independently < 1
が 1 の場合show_independently
、それらをグループ化したくありません。ただし、ほとんどの行がshow_independently
0 であっても、このステートメントでは行が表示されません。
特定の列に 0 などの特定の値がない行を選択しようとしていますが、これを機能させることができません。
SELECT *
FROM rentals
GROUP BY date, rooms, price
HAVING show_independently < 1
が 1 の場合show_independently
、それらをグループ化したくありません。ただし、ほとんどの行がshow_independently
0 であっても、このステートメントでは行が表示されません。
SELECT date, rooms, price
FROM rentals
WHERE show_independently < 1
GROUP BY date, rooms, price
一部の行のみをグループ化し、他の行をグループ化しない場合は、次を使用できますUNION
。
SELECT *
FROM rentals
WHERE show_independently <> 1
GROUP BY date, rooms, price
UNION ALL
SELECT *
FROM rentals
WHERE show_independently = 1
これshow_independently
は が 1 でないものだけをグループ化し、残りはグループ化せずに含めます。
句は、集計関数を使用してデータをフィルター処理するHAVING
ときに使用されます。
典型的なクエリHAVING
:
SELECT yourColumn, aggregate_function(otherColumn)
FROM yourTable
WHERE yourColumn = someValue
GROUP BY yourColumn
HAVING aggregate_function(otherColumn) = someOtherValue
WHERE
私はあなたが節を使いたいと思う:
SELECT date, rooms, price
FROM rentals
WHERE show_independently < 1
GROUP BY date, rooms, price