名前を付けたり、これをよく言い分ける方法がわかりません。そのために検索が歪んでしまいます。where条件問題のサブクエリ
私はこの声明を持っています。 、
SELECT username
, ip
FROM database.users
WHERE ip = (SELECT ip
, posted_at
FROM database.users_chat_history
WHERE username = ?
group
by posted_at desc
limit 1);
Error: ER_OPERAND_COLUMNS: Operand should contain 1 column(s)
理由ビーイングは、私がその検索を行うときには、最新/最新の行を取得する必要があります:
SELECT username
, ip
FROM database.users
WHERE ip = (SELECT ip
FROM database.users_chat_history
WHERE username = ?
limit 1);
はしかし、私は許可されていないこのようなものを、必要としますその最初のものでは、それは問題を引き起こしているわけではありません。 2番目のクエリは、私は動作するには声明のためのipが必要ですが、最新の投稿をつかむようにposts_at降順でグループ化する必要があります。
あなたは集計関数を使用していません。なぜ、selectでgroup byを使用するのですか?最終的にあなたの目標を説明しようとする..最終的にあなたの質問を適切なデータサンプルと期待される結果で更新してください。 – scaisEdge
投稿順posted_at降順で最新のレコードを返します –
サンプルで更新しましたが、 –