【问题标题】:How to repeat the same SQL query for different column values如何对不同的列值重复相同的 SQL 查询
【发布时间】:2014-02-13 05:56:15
【问题描述】:

我想用不同的列值执行相同的 SQL 查询,即:我有一个如下表:

+--------+-------+---------------+
| ENAME  | EID   | BASIC Salary  |
+--------+-------+---------------+
| AAA    | 111   | 12345         |
| BBB    | 222   | 45678         |
| CCC    | 333   | 8965          |
| DDD    | 444   | 3654          |
| .............................. |
| ZZZ    | 555   | 12345         |
+--------+-------+---------------+

从上表中,我想获取一组员工的EIDSalary。请建议我如何在不执行多次的情况下查询上述数据。

【问题讨论】:

  • 你能告诉我你想要什么输出吗?你需要多解释一下
  • 你能写出你期望的输出吗..
  • @DeepakSharma,感谢您的回复。

标签: mysql sql


【解决方案1】:

试试这个查询

SELECT ENAME, EID, Salary FROM <TABLENAME> WHERE ENAME IN ('AAA','DDD','ZZZ');

SELECT ENAME, EID, Salary FROM <TABLENAME1> WHERE ENAME IN (SELECT ENAME FROM <TABLENAME2> WHERE <CRITERIA>);

【讨论】:

  • ,以上是获取包含 10 个条目的表的数据的基本语法。如果我的表有 1000 个条目,并且我想一次获取大约 200 名员工的数据,则同样如此。那么是否可以编写一个查询来一次获取 200 名员工的数据。
  • 如果您的 200 名员工保存在另一个表中,您可以编写一个子查询,例如 SELECT ENAME, EID, Salary FROM WHERE ENAME IN (SELECT ENAME FROM ) 或者如果它匹配一些您可以使用该标准编写 WHERE 子句。让我知道您的要求。
  • 是有用的信息..是否可以从 excel 或记事本文件中输入。
  • 如果您有大量记录,您可以做的简单事情是 1. 创建临时表 2. 从您的 excel 或 csv 文件加载该表中的所有员工姓名(使用 LOAD DATA INFILE) 3.执行上述查询以获得所需的结果。吨。清理临时表
  • 非常感谢您的建议。我会尽力让你知道结果。
【解决方案2】:

基本语法是:

select columnname1, sum(columnname2) from tablename where condition.. group by columnname1

在这里,您将编写如下查询:

 select EID, sum(salary) from table where EID in(101,102,103,104,...)
 group by EID 

在这里,如果您想要 200 或 300 行数据,请在 sql 中使用 skip 和 limit。您将编写如下查询:

select EID, sum(salary) from table 
     group by EID limit 10 offset 0

limit 是记录数,offset 是跳过记录

【讨论】:

  • ,以上是获取包含 10 个条目的表的数据的基本语法。如果我的表有 1000 个条目,并且我想一次获取大约 200 名员工的数据,则同样如此。那么是否可以编写一个查询来一次获取 200 名员工的数据
  • 可以通过where子句或者limit和skip方法,我会更新答案...
  • 是的,只有当我连续选择 200 条记录时它才会起作用。如果我想选择随机记录,它有效吗..?
  • 是的,如果你传递一个像 .. Limit 200 偏移量 0,第二次限制 200 偏移量 200,第三次限制 200 偏移量 400,......等等这样的偏移量,它将起作用。..跨度>
猜你喜欢
  • 1970-01-01
  • 2017-04-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-04-23
  • 2019-03-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多