2

这是销售表。这里有 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条具有不同billnumber order的记录。(记录应该是所有列)

注意:我的意思是结果应该如下所示。**

+--------------+-------+------+-------+------------+---------+
| 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 条)但这些记录只包含三个不同的账单编号。

请建议我针对此问题使用 MYSQL 查询。如果我不够清楚,请发表评论。

4

2 回答 2

0

这应该适合您的要求。

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

您应该首先选择不同列的唯一值。在另一个查询中,您可以获取所有行,使用第一个查询中的值在您的where子句中进行过滤。快乐的编码。

于 2013-06-12T17:06:03.287 回答