2

これが sales テーブルです。ここには 7 つのレコードがあります。

+--------------+-------+------+-------+------------+---------+
| customername | price | vat  | total | billnumber | salesid |
+--------------+-------+------+-------+------------+---------+
| Raju         |  1300 |  165 |  1300 |         41 |      61 |
| Raju         |  1300 |  165 |  1300 |         42 |      62 |
| tubemania    |   670 | 2266 | 17890 |         45 |      67 |
| tubemania    |   220 | 2266 | 17890 |         45 |      68 |
| tubemania    | 17000 | 2266 | 17890 |         45 |      69 |
| tubemania    |   670 | 2266 | 17890 |         46 |      70 |
| tubemania    |   220 | 2266 | 17890 |         46 |      71 |
+--------------+-------+------+-------+------------+---------+

私がしたいこと?

1. salesid で請求書番号の順序が異なる 3 つのレコードを選択したい (レコードはすべての列である必要があります)

注:結果は以下のようになるはずです.**

+--------------+-------+------+-------+------------+---------+
| customername | price | vat  | total | billnumber | salesid |
+--------------+-------+------+-------+------------+---------+
| Raju         |  1300 |  165 |  1300 |         41 |      61 |
| Raju         |  1300 |  165 |  1300 |         42 |      62 |
| tubemania    |   670 | 2266 | 17890 |         45 |      67 |
| tubemania    |   220 | 2266 | 17890 |         45 |      68 |
| tubemania    | 17000 | 2266 | 17890 |         45 |      69 |
+--------------+-------+------+-------+------------+---------+

私が言ったことの意味?

ここでは、5 つのレコード(3 つと言いました)があることがわかりますが、これらのレコードには 3 つの異なる請求書番号しか含まれていません。

この問題に対するMYSQL クエリを提案してください。よくわからない場合は、コメントしてください。

4

2 に答える 2

0

最初に個別の列の一意の値を選択する必要があります。別のクエリでは、最初のクエリの値を使用してwhere句をフィルタリングし、すべての行をフェッチできます。陽気なコーディング。

于 2013-06-12T17:06:03.287 に答える
0

これはあなたの要件に合うはずです。

SELECT * FROM CUSTOMER
WHERE BILLNUMBER IN(
    SELECT DISTINCT BILLNUMBER
    FROM CUSTOMER LIMIT 0,3);
于 2013-06-12T17:37:15.773 に答える