Mysql:如何检索具有相同ID但列中值不同的两行

罗德里戈

如何在列和其他变量中检索具有相同ID和相同值的两行。这是表“数据”

+---------+----------------+-------------+
| post_id | meta_key       | meta_value  |
+---------+----------------+-------------+
| 1000    | payment_method | visa        |
| 1000    | other          | sometext    |
| 1000    | order_total    | 65.00       |
| 1000    | etc            | sometext2   |
| 1001    | payment_method | bacs        |
| 1001    | other          | sometext    |
| 1001    | order_total    | 105.00      |
| 1001    | etc            | sometext2   |
| 1002    | payment_method | visa        |
| 1002    | other          | sometext    |
| 1002    | order_total    | 28.00       |
| 1002    | etc            | sometext2   |
| ...     | ...            | ...         |
+---------+----------------+-------------+

如您所见,payment_method的值稳定,order_total可变。

我试过了:

SELECT * FROM'data'在哪里meta_key IN('payment_method','order_total')GROUP BY post_id,meta_key

输出

+---------+-----------------+------------+
| post_id | meta_key        | meta_value |
+---------+-----------------+------------+
| 1000    | payment_method  | visa       |
| 1000    | order_total     | 65.00      |
| 1001    | payment_method  | bacs       |
| 1001    | order_total     | 105.00     |
| 1002    | payment_method  | visa       |
| 1002    | order_total     | 28.00      |
| ...     | ...             | ...        |
+---------+-----------------+------------+

我只想通过post_id支付方式=签证及其相应的金额。

+---------+-----------------+------------+
| post_id | meta_key        | meta_value |
+---------+-----------------+------------+
| 1000    | payment_method  | visa       |
| 1000    | order_total     | 65.00      |
| 1002    | payment_method  | visa       |
| 1002    | order_total     | 28.00      |
| ...     | ...             | ...        |
+---------+-----------------+------------+

谢谢。

蒂姆·比格莱森(Tim Biegeleisen)

您可以使用透视逻辑来查找每个键所需的值。子查询被别名别名为d2post,将仅返回其付款方式为Visa的帖子。然后,我们将您的原始data表连接到该子查询,以仅限制您要查看的帖子。

SELECT
    d1.post_id,
    d1.meta_key,
    d1.meta_value
FROM data d1
INNER JOIN
(
    SELECT post_id
    FROM data
    GROUP BY post_id
    HAVING MAX(CASE WHEN meta_key = 'payment_method' THEN meta_value END) = 'visa'
) d2
    ON d1.post_id = d2.post_id
WHERE
    d1.meta_key IN ('payment_method', 'order_total')
ORDER BY
    d1.post_id,
    d1.meta_key DESC;

演示屏幕截图

演示版

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何比较具有相同列的两行

来自分类Dev

一个表中有两个具有相同ID的元组,并且这两行的其他一些列的值不同

来自分类Dev

如何使两行具有相同的终点和起点?

来自分类Dev

如何使两行具有相同的终点和起点?

来自分类Dev

如何合并具有相同数据的两行?

来自分类Dev

没有两行不同的表具有相同的主键吗?

来自分类Dev

将具有不同数据的两行分成两个不同的列

来自分类Dev

比较具有相同键的两行并确定值是否不同

来自分类Dev

在具有相同ID的选择查询中合并两行

来自分类Dev

在具有相同ID的选择查询中合并两行

来自分类Dev

AWK提取列中具有相同单词的前两行

来自分类Dev

更改表将两行具有相同值的列合并

来自分类Dev

如何在Linux的文件中连接两行具有不同模式的行?

来自分类Dev

如何在具有相同列的两个表中找到不同的行?

来自分类Dev

熊猫两行具有相同的索引,如何更改它们

来自分类Dev

熊猫两行具有相同的索引,如何更改它们

来自分类Dev

在Bootstrap中如何获取彼此下方具有不同尺寸的两行

来自分类Dev

选择不同列中具有相同值的行或 null 。有多行具有相同的 id

来自分类Dev

如何查询特定列Mysql中相同id具有不同值的位置

来自分类Dev

MySQL选择具有两个条件的行,并且具有相同列ID的计数大于1

来自分类Dev

MySQL选择具有两个条件的行,并且具有相同列ID的计数大于1

来自分类Dev

mysql如何查看不同列中具有相同数字的行

来自分类Dev

如何获得除一列外所有值都相同的两行

来自分类Dev

从存在/不存在将具有相同 ID 的两行连接到 0,1,2

来自分类Dev

在熊猫中创建两行具有差异的列

来自分类Dev

如何偏移具有相同ID的特定行-MySQL?

来自分类Dev

如何在第一个流中识别具有相同字符的两行

来自分类Dev

表的一列(主键)的两行是否可能具有相同的字符/值和相同的外键(另一列)

来自分类Dev

获取两行的值之差,另一行具有相同的值

Related 相关文章

  1. 1

    如何比较具有相同列的两行

  2. 2

    一个表中有两个具有相同ID的元组,并且这两行的其他一些列的值不同

  3. 3

    如何使两行具有相同的终点和起点?

  4. 4

    如何使两行具有相同的终点和起点?

  5. 5

    如何合并具有相同数据的两行?

  6. 6

    没有两行不同的表具有相同的主键吗?

  7. 7

    将具有不同数据的两行分成两个不同的列

  8. 8

    比较具有相同键的两行并确定值是否不同

  9. 9

    在具有相同ID的选择查询中合并两行

  10. 10

    在具有相同ID的选择查询中合并两行

  11. 11

    AWK提取列中具有相同单词的前两行

  12. 12

    更改表将两行具有相同值的列合并

  13. 13

    如何在Linux的文件中连接两行具有不同模式的行?

  14. 14

    如何在具有相同列的两个表中找到不同的行?

  15. 15

    熊猫两行具有相同的索引,如何更改它们

  16. 16

    熊猫两行具有相同的索引,如何更改它们

  17. 17

    在Bootstrap中如何获取彼此下方具有不同尺寸的两行

  18. 18

    选择不同列中具有相同值的行或 null 。有多行具有相同的 id

  19. 19

    如何查询特定列Mysql中相同id具有不同值的位置

  20. 20

    MySQL选择具有两个条件的行,并且具有相同列ID的计数大于1

  21. 21

    MySQL选择具有两个条件的行,并且具有相同列ID的计数大于1

  22. 22

    mysql如何查看不同列中具有相同数字的行

  23. 23

    如何获得除一列外所有值都相同的两行

  24. 24

    从存在/不存在将具有相同 ID 的两行连接到 0,1,2

  25. 25

    在熊猫中创建两行具有差异的列

  26. 26

    如何偏移具有相同ID的特定行-MySQL?

  27. 27

    如何在第一个流中识别具有相同字符的两行

  28. 28

    表的一列(主键)的两行是否可能具有相同的字符/值和相同的外键(另一列)

  29. 29

    获取两行的值之差,另一行具有相同的值

热门标签

归档