【问题标题】:Select count from one field从一个字段中选择计数
【发布时间】:2014-01-13 04:19:06
【问题描述】:

我有一个如下所示的 MySQL 查询...

SELECT `option_name` FROM `wp_9_options` WHERE option_name LIKE '%registered_domains_%' LIMIT 0 , 30

我还想显示文本“.com”出现在“option_value”字段中的次数。该字段包含各种文本,我正在寻找域。

域名可能多种多样(.com、.net、.co.uk 等),但我试图通过查找 .com 来保持简单

感谢您提供的任何帮助。

史蒂夫

尚无解决方案,但我非常感谢那些尝试过的人。

【问题讨论】:

  • 是否必须是 option_name 在字段中注册了域并且 option_value 具有 .com 的位置?

标签: mysql select count sql-like


【解决方案1】:

SELECT option_name, COUNT(option_name) AS total FROM wp_9_options WHERE option_name LIKE '%.com' LIMIT 0 , 30

【讨论】:

    【解决方案2】:

    试试这个:

    SELECT option_name,    
        ROUND (   
        (
            LENGTH(option_value)
                - LENGTH( REPLACE ( option_value, ".com", "") ) 
            ) / LENGTH(".com")        
        ) AS dot_com_count    
    FROM wp_9_options
    WHERE option_name LIKE '%registered_domains_%'
    LIMIT 0 , 30;
    

    【讨论】:

    • 谢谢你的狡猾!但这并不完全正确,因为 option_value 包含各种文本而不仅仅是域名。此外,每个 option_value 中可能有多个域,这就是我试图计算它们的原因。我想看看每个 option_value 包含多少个域。
    • 明白,我已经更新了我的答案,试一试,如果它不适合你,请告诉我。另外,我更新了我的 SQLFiddle:sqlfiddle.com/#!2/6098c/1/0
    • Sly 完美运行。谢谢!
    • 不客气。请注意数据,如果您以大写形式存储域,则需要修改查询以使其不区分大小写。
    猜你喜欢
    • 2013-01-12
    • 2016-12-19
    • 2018-06-27
    • 1970-01-01
    • 1970-01-01
    • 2023-03-25
    • 1970-01-01
    • 2011-04-12
    • 2011-06-30
    相关资源
    最近更新 更多