0
好了,所以我有查詢MySQL的計數結果UNION不重疊
(SELECT * FROM jokes WHERE flags < 5 AND (title LIKE ? OR joke LIKE ?) ORDER BY ups DESC,downs ASC)
UNION
(SELECT * FROM jokes WHERE flags < 5 AND (title LIKE ? OR joke LIKE ?) ORDER BY ups DESC,downs ASC)
UNION
(SELECT * FROM jokes WHERE flags < 5 AND (title LIKE ? OR joke LIKE ?) ORDER BY ups DESC,downs ASC)
LIMIT 0, 30
,我會運行使用COUNT(*)
同樣的事情沒有限制
(SELECT COUNT(*) FROM jokes WHERE flags < 5 AND (title LIKE ? OR joke LIKE ?) ORDER BY ups DESC,downs ASC)
UNION
(SELECT COUNT(*) FROM jokes WHERE flags < 5 AND (title LIKE ? OR joke LIKE ?) ORDER BY ups DESC,downs ASC)
UNION
(SELECT COUNT(*) FROM jokes WHERE flags < 5 AND (title LIKE ? OR joke LIKE ?) ORDER BY ups DESC,downs ASC)
基本上我想什麼do是得到總結果的數量(沒有限制),並且也得到有限的列表。
我遇到的問題是,當我運行計數查詢時,我得到的數字比我回來的結果更大。我猜測的原因是當我得到結果時,它會過濾出所有重疊的行,因爲計數只計算每個行,因爲我手動添加它們。
關於如何清理整個過程的任何想法?
此外,請注意,選擇語句的數量動態變化,但我希望有一種方法來獲得一個統計重複的帳戶。
謝謝。
有道理。這看起來不錯,我會試試看。 – 2011-12-27 01:29:53
得到這個錯誤 每個派生表必須有它自己的別名 – 2011-12-27 01:42:37
好吧添加'作爲計數'到最後,並清除它 – 2011-12-27 01:47:41