1

タイトルで申し訳ありませんが、私はそれをよりよく説明する方法がわかりません...

私はフォーラムを持っていて、PHP である種の達成システムを作りたいと思っています。

投稿数が 10 を超えるユーザーがいつ 10 回目のメッセージを投稿したか知りたい...

ポストテーブルは

post_id | post_date | userid | post_message | ...

私は各ユーザーに対してこの結果を得ることができます

select userid, post_date from posts where userid=1 order by post_date limit 9,1

しかし、私は次のような結果セットが必要です

id | date
id | date
id | date

手続きでしかできないの?

4

2 に答える 2

1

これを試してください:

SELECT userid
    , SUBSTRING_INDEX(SUBSTRING_INDEX(GROUP_CONCAT(post_date ORDER BY post_date), ',', 10), ',', -1) AS PostDate
    FROM posts
    GROUP BY userid
    HAVING PostDate <> '' OR PostDate IS NOT NULL

ただし、 GROUP_CONCATが保持できる最大長に注意する必要があります。

于 2013-05-29T11:06:13.240 に答える