我想在我的MySQL查询中自定义字母排序顺序。马耳他语使用标准拉丁字母和字符:ċ,ġ,ħ和ż。我使用utf8_bin排序规则,因为ċ与c(以此类推)不一样。这样做的结果是,当我使用ORDER BY时,字母按以下顺序处理:
a b c d e f g h i j k l m n o p q r s t u v w x y z ċ ġ ħ ż
然而,我要求他们有这样的命令:
a b ċ c d e f ġ g h ħ i j k l m n o p q r s t u v w x y ż z
这意味着按照升序,"abċ“应该出现在"abz”之前,但现在是在后面,因为它只是比较字符的
当我使用mysql时,我得到了这个错误,请任何人给我解释一下。下面的A,B,C之间有什么不同?
A) select * from table where a=a group by(b) // this execute & work fine
B) select * from table where a=a group by b,c // this execute * work fine
c) select * from table where a=a group by (b,c) // this is giving an error - error is operand should
下面是我正在使用的SQL语句。
$sql = "SELECT surname, forename, count(*) FROM people WHERE user_id='$user_id'
GROUP BY surname ORDER BY time";
$result = mysql_query($sql);
$count=mysql_num_rows($result);
if($count > 0){
while($row = mysql_fetch_array($result)) {
$i = $i +1;
$person[$i
有没有一种方法可以根据值在mysql列中出现的频率对数据进行排序,并使它们成为DISTINCT。因此,如果表中有一个颜色列,如下所示:
colors
------ ----
red |
blue |
red |
green |
blue |
red |
yellow|
blue |
green |
red |
结果将是:
red
blue
green
yellow
红色出现4次,蓝色3次,绿色2次,黄色1次。谢谢
通过阅读MySQL文档,我无法解释phpMyAdmin中这两个查询之间的区别:
SELECT * FROM f_ean GROUP BY ean HAVING type = 'media'
-->给我57059个结果
SELECT ean, type FROM f_ean GROUP BY ean HAVING type = 'media'
-->给我73201个结果
只显示不同的列,查询的结果号怎么会不同呢?
我正在使用MySQL,并且我有一个在列中包含日期的表(我正在为一个类制作一个包含到期日期的表)。在此之前,我的查询如下:
SELECT * FROM duedates_f2011 ORDER BY anothercolumn
为了防止重复出现(基于duedate列),我必须将其更改为:
SELECT * FROM duedates_f2011 GROUP BY duedate
目前,它保留了相同的顺序,但是我如何保证它仍然会这样做呢?在我读过的GROUP BY教程中,没有任何东西表明它仍然会对其进行排序,而且在之后添加ORDER BY语句也是不正确的。我是否遗漏了什么,或者我应该添加其他什么以
我想知道斯芬克斯的实时索引和它的配置。我有一个包含以下列的mysql表:
filter_id int(11) AI PK
filter_user_id int(11)
filter_name varchar(64)
filter_state text
我把json存储在filter_state中。现在,我想搜索json字段,并配置Sphinx实时索引。
我的配置文件如下所示:
index rt_filters
{
type = rt
path = /var/sphinx/data/rt_filters
rt_field = state
我通过MySQL PDO获取数据数组:
"select * from table"
在查询中使用函数排序是否更快,例如
"select * from table order by key"
与直接的mysql顺序查询相比,使用PHP usort或任何其他数组排序会牺牲很大的效率吗?
$prepare=$database->prepare("select * from table");
$prepare->execute();
$fetch=$prepare->fetchall(PDO::FETCH_ASSOC);
usort(
我有一个名为temp的简单表,它有三列和以下数据:
# c1 c2 v
1 1 'a'
1 2 'b'
1 1 'b'
1 2 'a'
我运行这个查询:
SELECT
t01.c1,
t01.c2,
COUNT(DISTINCT v) AS cnt
FROM
(
SELECT
FLOOR(c1) AS c1,
FLOOR(c2) AS c2,
v
FROM
temp
) AS
我正在尝试优化查询。使用EXPLAIN告诉我它是Using temporary。考虑到表的大小(20m+记录),这是非常低效的。查看MySQL文档,我没有发现在查询中需要临时表的任何东西。我还尝试将ORDER设置为与组BY相同,但仍然说使用临时和查询要花费很长时间才能运行。我使用的是MySQL 5.7。
是否有一种方法可以避免对此查询使用临时表:
SELECT url,count(*) as sum
FROM `digital_pageviews` as `dp`
WHERE `publisher_uuid` = '8b83120e-3e19-4c34-8556-7b710bd7b
我希望做一些事情,比如从表中获取所有行
where date >='2012-05-05' and date<='2012-07-20'
我想让MySQL返回"group by"行,从
2012-05-05 to 2012-06-05(incerement 1 month)
2012-06-06 to 2012-07-06(increment 1` month)
and remaining 2012-07-07 to 2012-07-20 (group the remaining 14 days)
我如何编写我的查询才能达到同样的效果
我有以下SQL代码,它在小数据集上工作得很好。我有一个朋友告诉我,我应该考虑使用SELECT DISTINCT c.name作为循环条件,将其放入MySQL中的FOR循环中。
SELECT c.name, c.limit, c.price, c._low, c._high, c.date
FROM comp c
WHERE c.e_id IN
(SELECT e_id FROM part_e WHERE core_id=23)
OR c.pn IN
(SELECT pn FROM part_ct WHERE core_id=23)
GROUP BY c.name
ORDER BY c.dat
我试着做一张登记表。当用户发布字段时,我检查USER_NAME。如果存在,则不会将该行实例到MYSQL。
发布后:
$check = "SELECT name FROM test WHERE name='".$_POST['user_name']."';
$result = mysql_query($check) or die (mysql_error());
$numrows = mysql_num_rows($resutl);
if ($numrow != 0){
echo "exist"; e
我正在为我的团队创建一个锻炼日志。我目前拥有的是一个MySQL查询(用PHP编写),该查询检索与当前周发布的帖子相关联的用户is数组。守则如下:
mysql_query("SELECT u_id FROM posts WHERE id IN (SELECT p_id FROM post_groups WHERE g_id='" . $group['id']. "') AND date >= '" . $d_start . "' AND date <= '" . $d_end .
我正在编写一个MySQL查询,该查询输出按周创建的新用户数量。
我的用户表是:
id | created_at
My查询:
SELECT YEAR(created_at) AS Year, DATE_FORMAT(created_at, '%b %e') AS Week, COUNT(*) AS total
FROM users
GROUP BY Year, Week;
问题:
年份:我希望最近的一年是最高的,目前最老的年份是在产出的顶端。
周数:未根据日历对周列进行排序。例如,最后的记录显示:2019 | May 9 | 100
我想在那里整理一年和一周。
在我的旧MYSQL数据库中,我使用以下MYSQL查询。因为我将我的数据库迁移到mongoDB,所以我必须迁移查询。
在我的旧mysql数据库中,我使用了以下查询
SELECT idValue,
Timestamp,
Value
FROM (
SELECT *
FROM Metingen2
WHERE idGroep = 123
ORDER BY idValue ASC ,
Timestamp DESC
)
AS t GROUP BY t.idValu
我添加了以下查询扩展:
<?php
/*
* DoctrineExtensions Mysql Function Pack
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wid