0

整数とパラメーターを含むテーブルがあります。

date timestamp
123  2013-07-22 16:33:17
123  2013-07-22 16:34:47
234  2013-07-20 16:33:15
332  2013-07-24 16:33:37
422  2013-07-21 10:13:11
422  2013-07-22 14:53:12

そして、次のクエリを実行して、選択した個別のデータの数と個別のデータのランダムな部分を取得します。

SELECT COUNT(DISTINCT(data)) as count, (SELECT data FROM data_table WHERE
    DATE(timestamp) >= '2013/07/22' AND DATE(timestamp) < '2013/07/23'
    GROUP BY data ORDER BY rand() LIMIT 1) as data FROM data_table WHERE
    DATE(timestamp) >= '2013/07/22' AND DATE(timestamp) < '2013/07/23'

そして私は得る:

count  data
2      123

また

count  data
2      422

これで、PRIMARY key dataを持つ別のテーブル *text_table* ができました。次のようになります。

data  text
123   "hi"
234   "hey"
332   "bye"
422   "cya"

前のクエリの結果とテキストを取得するクエリが必要です。

count  data  text
2      123   "hi"

また

count  data  text
2      422   "cya"

私は試した:

SELECT text_table.text AS text, COUNT(DISTINCT(data_table.data)) as count,
    (SELECT data FROM data_table GROUP BY data ORDER BY rand() LIMIT 1) as data
    FROM data_table LEFT OUTER JOIN text_table ON data_table.date = text_table.text

しかし、それはデータが何であれ、常に同じテキストを返します。

4

2 に答える 2