【问题标题】:Error in your SQL syntax with multiselect多选 SQL 语法错误
【发布时间】:2014-06-25 13:17:26
【问题描述】:

美好的一天!

我对 mysql 语法有一些问题。我只需要选择最大SID 以上的名称,输入值'​​​​ 我试着用 pymysql 来做:

SELECT `name` FROM `files` WHERE


SELECT `sid` FROM `origin_files` WHERE `name` LIKE %s
ORDER BY `sid` DESC LIMIT 1 >= %s",(name, count);

Mysql 说语法有错误。

描述文件:

+-------+--------------+------+-----+---------+-------+
| Field | Type         | Null | Key | Default | Extra |
+-------+--------------+------+-----+---------+-------+
| name  | varchar(50)  | NO   |     | NULL    |       |
| sid   | int(4)       | NO   |     | NULL    |       |
| path  | varchar(200) | NO   | PRI | NULL    |       |
+-------+--------------+------+-----+---------+-------+

desc origin_files:

+-------+--------------+------+-----+---------+-------+
| Field | Type         | Null | Key | Default | Extra |
+-------+--------------+------+-----+---------+-------+
| name  | varchar(50)  | NO   |     | NULL    |       |
| sid   | int(4)       | NO   |     | NULL    |       |
| path  | varchar(200) | NO   | PRI | NULL    |       |
+-------+--------------+------+-----+---------+-------+

如果您能帮助解决这个问题,我将不胜感激。

【问题讨论】:

  • 请发布这些查询的结果:show create table files;show create table origin_files;
  • files和origin_file是什么关系?真的很难说你需要什么样的结果,请尝试用其他词来解释。

标签: mysql sql pymysql


【解决方案1】:
SELECT field
FROM TABLE_NAME
WHERE field IN
    (SELECT field
     FROM TABLE_NAME
     WHERE field LIKE '%s'
     ORDER BY field DESC);

【讨论】:

  • 您不应该编辑 user3145373 的错误答案。相反,您应该对它投反对票并添加这个正确的解决方案。事实上,你让它们看起来更好,而且你不会得到任何功劳(并且有可能因为“复制”它们而被投反对票!:-/)
  • 完整答案没有错,只是需要一些修改,所以我编辑了答案。谢谢...
  • LIMIT 1 >= '%s', (name, count)?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-01-31
  • 2015-03-22
  • 2015-04-04
  • 2016-12-13
相关资源
最近更新 更多