2012-11-25 79 views
0

我想選擇行,其中某些列不具有一定的價值,如0,但我無法得到這個工作。如果show_independently是1,那麼我不想將它們分組。不過,這一說法沒有顯示出行即使最行具有show_independently爲0MySQL的選擇組由具有柱!= X

+1

難道你不想要一個'WHERE'呢? – Ryan

+0

'如果show_independently是1,那麼我不想將它們分組。 '你想在結果中包含*所有*行,但只將那些符合特定條件的行分組?或者你只想選擇那些符合條件並將它們分組的人? – phant0m

+0

我想包括所有的行,既show_independently = 0和show_independently = 1,但我只想show_independently = 0進行分組。我需要show_independently = 1,所以我仍然可以看到它們。 – dhinged

回答

0

如果你只想組一些行和讓別人不分組,你可以使用一個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,並且包括其餘的不進行分組它們。

+0

我認爲這是我想要的。 – dhinged

+0

現在我需要根據結果選擇房間類型的房間類型......這是否必須是兩個選擇的連接? – dhinged

+0

@dhinged你最好[**問一個新問題**](http://stackoverflow.com/questions/ask);) – phant0m

2
SELECT date, rooms, price 
FROM rentals 
WHERE show_independently < 1 
GROUP BY date, rooms, price 
+0

即僅選擇具有show_independently = 0。我仍然需要與show_independently = 1到選擇行的行,只是不與show_independently = 0行分組。 – dhinged

0

一個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