小编Jer*_*con的帖子

MySQL确定最长的VarChar长度

我正在尝试优化我的数据库.为了做到这一点,我需要能够确定varchar列中最长的数据条目,然后将列定义修剪到恰好高于该值.

如何使用sql查找表中最长的varchar条目的长度?

CREATE TABLE `poller_output` (
  `local_data_id` mediumint(8) unsigned NOT NULL DEFAULT '0',
  `rrd_name` varchar(19) NOT NULL DEFAULT '',
  `time` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
  `output` varchar(200) NOT NULL DEFAULT '',
  PRIMARY KEY (`local_data_id`,`rrd_name`,`time`)
) ENGINE=MEMORY DEFAULT CHARSET=utf8
Run Code Online (Sandbox Code Playgroud)

mysql varchar

8
推荐指数
2
解决办法
1万
查看次数

PHP mysql不同,只加载1组ID

我正在尝试获取数据,其中顺序与唯一ID无关.所以我的查询就是这样

SELECT DISTINCT id1, id2 FROM messages ORDER BY date
Run Code Online (Sandbox Code Playgroud)

如果我有一个包含以下数据的数据库:

id1 | id2 | date
 5  |  6  |  1/2/2011
 6  |  5  |  1/1/2011
Run Code Online (Sandbox Code Playgroud)

我只需要加载具有最新日期的列,因为ID是相同的2个人.真的,我必须加载id,其中一个id是你的,所以我现在的真实查询是

SELECT DISTINCT userid_1, userid_2 
  FROM messages 
    WHERE userid_2=$dbid 
    OR userid_1=$dbid 
ORDER BY date
Run Code Online (Sandbox Code Playgroud)

我得到一个结果 [6 5] [5 9] [9 5] [5 15] [5 6] [5 17]

结果2和3是相同的,1和5是相同的.实际上只应查询4个结果.谢谢!

php mysql select distinct

5
推荐指数
1
解决办法
190
查看次数

在Vim中删除包含字符串的完整单词

我试图删除一行中的单词,如果它们包含一个特定的字符串.以下是文本示例:

host-a, host-b, host-c+test, host-d, host-e+test
Run Code Online (Sandbox Code Playgroud)

我想删除任何包含的内容+test,结果为:

host-a, host-b, host-d
Run Code Online (Sandbox Code Playgroud)

同样,我需要逐行应用它,而不是文件中的所有行.它将在宏中使用.

我怎样才能做到这一点?

string vi vim

5
推荐指数
1
解决办法
1023
查看次数

为什么我的MySQL查询失败

我不能让它工作,不断收到错误信息.

错误

You have an error in your SQL syntax; check the manual that corresponds to your
MySQL server version for the right syntax to use near '-mail, password, 
birth_date, age, sex, profile_text, zip_code, zip_code_state, c' at line 1
Run Code Online (Sandbox Code Playgroud)

mysql_query("INSERT INTO users (username, e-mail, password, birth_date, age, sex,
      profile_text, zip_code, zip_code_state, coins, rank, profile_visits, 
      profile_likes, profile_image, profile_points, activated, deleted, reg_time, 
      last_active_time, reg_ip)
    VALUES ('$randomName', 'awduhawd@hotmail.com', 'awd', '21/05/1990','0','2',
      '0','4306','Sandnes','0','user','0','0','$image','0','0','0','$time',
      '$time','0')")
 or die(mysql_error());
Run Code Online (Sandbox Code Playgroud)

php mysql database

4
推荐指数
1
解决办法
82
查看次数

无法使用具有多字值的数组

我正在编写一个脚本,要求我有一个包含多字值的数组.这需要自己对待.

all=( "test phrase" 4 11 13 )

for i in ${all@]}; do
        echo $i
done
Run Code Online (Sandbox Code Playgroud)

我离开了它:

test
phrase
4
11
13
Run Code Online (Sandbox Code Playgroud)

我需要得到:

test phrase
4
11
13
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

arrays bash

3
推荐指数
1
解决办法
807
查看次数

比较同一表中的2列

我需要比较表中的2列并给出3件事:

  • 已检查的行数(已检查的总行数)
  • 匹配的(两列匹配的行)
  • 行数不同(两列不同的行)

我已经能够通过使用自身的联接获得仅行匹配的记录,但是我不确定如何一次获得所有其他记录。同时获取所有信息的重要性是因为这是一个非常活跃的表,并且数据的更改频率很高。

我无法发布表架构,因为其中有很多与该问题无关的数据。有问题的列都是int(11) unsigned NOT NULL DEFAULT '0'。为此,我将它们称为maskmask_alt

mysql

3
推荐指数
1
解决办法
8656
查看次数

Tmux宏/功能

我正在尝试在tmux中创建一个函数,以便在需要时,我可以调出命令提示符(Ctrl-B,:)并输入它并让tmux在我现有的会话中生成一个新窗口,其中运行了许多窗格一些特定的命令.

这可能吗?

gnu-screen tmux

3
推荐指数
1
解决办法
2654
查看次数

使用SubQueries查询2个表的总和

我的分析团队使用如下查询:

SELECT 
    SUM(ul.upload_bandwidth) + SUM(dl.download_bandwidth) AS total 
FROM 
    upload_facts ul, download_facts dl
WHERE 
    ul.date BETWEEN '2011-09-01' AND '2011-09-30' AND 
    dl.date BETWEEN '2011-09-01' AND '2011-09-30';
Run Code Online (Sandbox Code Playgroud)

由于正在发生的"连接",这需要很长时间,超过12000秒.

从两个表中分别进行总和只需几秒钟.我正在考虑每天将一笔金额放入一张单独的表中以加快速度.但是,我认为应该比这更容易.

我想消除连接并使用子查询来做到这一点,但是我不是100%肯定如何.我尝试了以下,但它没有用.

SELECT 
    (select upload_bandwidth from upload_facts where date 
      BETWEEN '2011-09-01' AND '2011-09-30') 
    + 
    (select download_bandwidth from downloaded_facts where date 
      BETWEEN '2011-09-01' AND '2011-09-30');
Run Code Online (Sandbox Code Playgroud)

mysql optimization join subquery

2
推荐指数
1
解决办法
3789
查看次数

标签 统计

mysql ×5

php ×2

arrays ×1

bash ×1

database ×1

distinct ×1

gnu-screen ×1

join ×1

optimization ×1

select ×1

string ×1

subquery ×1

tmux ×1

varchar ×1

vi ×1

vim ×1