用一个字段很容易find重复项: SELECT name, COUNT(email) FROM users GROUP BY email HAVING ( COUNT(email) > 1 ) 所以,如果我们有一张桌子 ID NAME EMAIL 1 John asd@asd.com 2 Sam asd@asd.com 3 Tom asd@asd.com 4 Bob bob@asd.com 5 Tom asd@asd.com 这个查询会给我们约翰,山姆,汤姆,汤姆,因为他们都有相同的email 。 但是,我想要的是使用相同的email 和 name重复。 那就是我想得到“汤姆”,“汤姆”。 我需要这个原因:我犯了一个错误,并允许插入重复的name和email值。 现在我需要删除/更改重复,所以我需要先find他们。
有没有一个优雅的方式来在MySQL数据库中进行自然sorting? 例如,如果我有这个数据集: 最终幻想 最终幻想4 最终幻想10 最终幻想12 最终幻想12:Promathia的链条 最终幻想冒险 最终幻想起源 最终幻想战术 任何其他优雅的解决scheme,而不是把游戏的名字分解成他们的组件 标题 :“最终幻想” 号码 :“12” 副标题 :“Promathia链子” 确保它们以正确的顺序出来? (10之后4,而不是2之前)。 这样做是在a **中的一个痛苦,因为时不时的另一个游戏打破了parsing游戏标题(例如“战锤4万”,“詹姆斯·邦德007”)的机制
我有很多来自$_GET和$_POST的用户input…现在我总是写mysql_real_escape_string($_GET['var']) .. 我想知道你是否可以做一个函数来保护,逃避和清理$_GET / $_POST数组,所以你不必每次处理用户input等都要处理它。 我正在考虑一个函数,例如cleanMe($input) ,在它里面,它应该执行mysql_real_escape_string , htmlspecialchars , strip_tags , stripslashes (我认为这将全部使它变得干净和安全),然后返回$input 。 那么这可能吗? 制作一个适用于所有$_GET和$_POST的函数,所以你只能这样做: $_GET = cleanMe($_GET); $_POST = cleanMe($_POST); 所以在你的代码中,当你使用例如$_GET['blabla']或者$_POST['haha'] ,它们是安全的,剥离的等等? 试了一下自己: function cleanMe($input) { $input = mysql_real_escape_string($input); $input = htmlspecialchars($input, ENT_IGNORE, 'utf-8'); $input = strip_tags($input); $input = stripslashes($input); return $input; }
我想使用java.util.Date作为input,然后用它创build一个查询 – 所以我需要一个java.sql.Date 。 我惊讶地发现,它不能隐式或明确地进行转换 – 但是我甚至不知道如何做到这一点,因为Java API对我来说还是相当新的。
我正在处理一个表单,用户可以在要提交给数据库的string中使用非法/特殊字符。 我想逃避/否定string中的这些字符,并使用htmlspecialchars() 。 但是,有更好还是更快的方法?
我已经阅读了关于MySQL的ORDER BY RAND()函数的几个替代方法,但是大多数替代方法仅适用于需要单个随机结果的地方。 有没有人有任何想法如何优化一个查询返回多个随机结果,如下所示: SELECT u.id, p.photo FROM users u, profiles p WHERE p.memberid = u.id AND p.photo != '' AND (u.ownership=1 OR u.stamp=1) ORDER BY RAND() LIMIT 18
我有这个MySQL查询: SELECT DAYOFYEAR(`date`) AS d, COUNT(*) FROM `orders` WHERE `hasPaid` > 0 GROUP BY d ORDER BY d 其中返回这样的东西: d | COUNT(*) | 20 | 5 | 21 | 7 | 22 | 12 | 23 | 4 | 我真的很喜欢的是另一列结束显示运行总数: d | COUNT(*) | ??? | 20 | 5 | 5 | 21 | 7 […]
我知道这已经在一定程度上用PHP和MYSQL来回答,但是我想知道是否有人能够教我在Oracle 10g(最好)和11g中将一个string(逗号分隔)分成多行的最简单的方法。 表格如下: Name | Project | Error 108 test Err1, Err2, Err3 109 test2 Err1 我想创build以下内容: Name | Project | Error 108 Test Err 1 108 Test Err 2 108 Test Err 3 109 Test2 Err1 我已经看到了一些有关堆栈的潜在解决scheme,但它们只占一列(以逗号分隔的string)。 任何帮助将不胜感激。
我有来自数据库的数据行,我想有一个简单的分页表,什么是最简单的方法呢? 如果有人能提供,我会很高兴。
我试图插入一些文本数据到SQL Server 9的表中。 文本包括一个单引号。 我如何逃避? 我试过使用两个单引号,但它给我一些错误。 例如。 insert into my_table values('hi, my name''s tim.');