是否可以从数据库中随机选择一条记录,排除某些特定状态的记录?
例如,
例如,我有一个用于存储员工详细信息的表。
id employeename employeestatus
1 ab 1
2 cd 1
3 ef 2
4 gh 1
5 ij 1
我想从查询中获取一个状态不是2的随机记录。可以这样做吗?我使用的数据库是PostgreSQL 8.4.15。
我有一个包含100多万行的大型User表。奇怪的是,它通常对大多数用户数据进行查询,但对某些用户数据的查询总是占用30秒的时间。它不是随机发生的,但总是发生在特定的用户身上。
该查询类似于:
SELECT * FROM visit V
INNER JOIN group G ON G.id = V.group_id
INNER JOIN user U ON U.id = V.user_id AND U.group_id = V.parent_group_id
WHERE V.id = xxx AND V.group_id = xxx
但是,如果我使用表用户删除JOIN,则查询再次正常。
有人知道
我目前使用php中的EZSQL类来查询MySQL数据库。我正在尝试从数据库中抓取随机记录,但我想知道是否可以通过php而不是sql查询本身来随机化结果。查询目前看起来如下所示:
$results = $db->get_results("SELECT * FROM table ORDER BY RAND()");
foreach($results AS $result)
{
//code here
}
取而代之的是,我可以从数据库中获取结果,然后通过php随机化它吗?如果是这样,我该怎么做呢?
我在mysql数据库中遇到了一点问题。我有两个表,像user和post。
用户表
Post表
mysql查询
SELECT user_id,name FROM `post` where user_id IN(1,3,4); // 1,3,4 id of user from user table
上面的mysql查询工作fine.But现在我想得到每个用户的最多三条记录以上查询的randomly.Result是可以的
user_id name
1 one
3 two
1 three
1 four
1 five
我有一个事件数据库。每个事件都有一个等级(1-5)。我想按日期范围查询数据库中的事件,我想选择一组排名为1的随机事件,然后选择一组排名为2的随机事件,依此类推。
这个查询给了我一个随机选择的排名1的事件:
SELECT * FROM
(
SELECT * FROM `events`
WHERE `date` >1326578956
AND `date`<1326870399
AND `rank`=1
ORDER BY RAND()
)
e LIMIT 0,10
但可能有这样的情况,即没有排名为1或排名2的事件。
是否可以只使用MYSQL查询。我可以使用PHP迭代查询,
我想从MongoDB数据库中检索一组随机文档。到目前为止,在大量搜索之后,我只看到了检索一个随机文档或一组文档的方法,从一个随机跳过的位置开始,但是文档仍然是顺序的。
我试过猫鼬-简单-随机,不幸的是,它没有检索一个“真正的”随机集。它所做的是跳到一个随机位置,然后从该位置检索n个文档。
相反,我想检索一个随机集,就像MySQL使用one查询(或最小数量的查询)所做的那样,而且每次我都需要这个列表是随机的。我需要这是有效的--与MySQL类似的查询相当。我想在MongoDB中复制以下内容:
SELECT * FROM products ORDER BY rand() LIMIT 50;
这个是
我正在尝试创建一个表book,tags列的数据类型是json,但是这里得到的是错误消息-
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'json DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB' at line 4
查询:
CREATE TABLE `book` (
`id` me
我正在用php查询mysql数据库,但无法让它在我的iMac上工作。特别是,php无法连接到mysql DB。它连接到mysql并选择DB,然后失败。见下面的代码:
if (!mysql_connect($db_host, $db_user, $db_pwd)){
die("I cannot connect to database");
}
if (!mysql_select_db($database)){
die("I cannot select database");
}
$sql = "SELECT FROM ${table} O
我用Python3编写了一个生成大量数据的程序,我想使用一个调用包含查询的存储过程的python脚本将这些数据存储在MySQL中。
我有一个很大的数据库,有+/- 3.5M。条目,在这个数据库中,有几个重复项是我使用这个查询来分类的:
SELECT oligoSequence FROM Oligos GROUP BY oligoSequence HAVING COUNT(oligoSequence) > 1;
现在,我得到了以下存储过程:
DELIMITER //
CREATE PROCEDURE sp_mark_duplicate_oligos()
BEGIN
SELECT oli
我有下面的db表结构:
Tablename : agency_mst
Fields:
id
name
is_premium
date_added
我想对数据进行排序,以便is_premium=1的代理机构优先,其余的数据按date_added desc顺序排序。
但is_premium=1记录也应按随机顺序排序。因此,第一批保费代理将有随机的秩序。如何使用MySQL选择查询来做到这一点。
我已经部分构建了这个查询,但不确定如何过滤特定的数据集。以下是该查询:
SELECT * FROM agency_mst
ORDER BY is_premium DESC, date_added DESC
现在我想查询mysql (),当我第一次查询数据时,它需要花费10s,但是下一次要花费更少的时间。
router.get('/getStationsInfo1', function(req, res, next) {
var nowTime = req.query.nowTime;
var query = 'select stationid, timestamp,precipitation from db where timestamp = ? order by timestamp asc;'
mysqlPool.query(query,
我正在处理一个查询,如果可能的话,我希望提高它的效率。
桌子是这样的:
CREATE TABLE articles (
id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
title VARCHAR(200),
FULLTEXT (title)
) Engine=MyISAM;
需要有效率的查询:
SELECT * FROM articles
WHERE
MATCH (title)
AGAINST ('+MySQL' IN BOOLEAN MODE)
AND title <>
我通常存储格式为(x,y,z)的物理矢量位置,其中每个坐标都是一个浮点数,使用varchar(250)存储在单个列中,或者作为每个x,y,z分量的三个单独列...
我想知道是否有一种更适合存储在MySQL中的向量结构的格式?如果是这样的话,查询数据会不同于通常的SELECT vector_col from table
如果您在表1中有需要用来为表1中返回的每一行返回表2中的数据的数据。在PHP中使用一组查询,其中一个嵌入到另一个的while循环中,还是在查询中使用一个SQL函数,哪个更有效?
例如:
$qry = mysql_query(SELECT date FROM table1)
while($res = mysql_fetch_array($qry))
{
$qry = mysql_query("SELECT name FROM table2 WHERE date=$res['date']")
}
或者作为在查询中从table1返回Id的函数来完成。