dongwu1410 2011-11-21 15:34
浏览 16
已采纳

MySQL查询显示结果,但我不能限制它们?

Hi I have a query like so

SELECT 
    videos.*, 
    categories.cat_name , 
    ( SELECT COUNT( * ) AS count FROM user_favorites WHERE user_id = 'tw415656866' AND video_id = videos.video_id )is_favorite 
FROM `videos` 
INNER JOIN categories 
    ON categories.cat_id = videos.cat_id 
WHERE 
    date <= '2011-11-21 09:12:18' 
GROUP BY videos.video_id 
ORDER BY (votesdown / votesup) ASC 
LIMIT 0, 5 

This code works fine and returns a table like below

video_id     - video id
cat_name   - category name
cat_id         - category id
title             - video title
yt_id           - youtubes video id
votesup      - votes up
votesdown  - votes down
date            - date added
tweeted       - 0 / 1 ( 1=tweeted)
is_favorite   - 0 / 1 ( 1=favorited)

What i'm trying to do is add this to the WHERE clause

AND is_favorite = 1

As you can see 'is_favorite' is added to the dataset as a column but I cannot query it because MySQL says the column 'is_favorite' doesn't exist.

The exact error is... " Unknown column 'is_favorite' in 'where clause' "

Any ideas?

Thanks alot

  • 写回答

3条回答 默认 最新

  • donglu1472 2011-11-21 15:39
    关注

    is_favorite is indeed not a column but an alias for your subquery. Try using

    HAVING is_favorite = 1
    

    instead. See for example http://www.w3schools.com/sql/sql_having.asp for an explanation of the difference between WHERE and HAVING

    So your query should look like this:

    SELECT 
        videos.*, 
        categories.cat_name , 
        ( SELECT COUNT( * ) AS count FROM user_favorites WHERE user_id = 'tw415656866' AND video_id = videos.video_id ) AS is_favorite 
    FROM `videos` 
    INNER JOIN categories ON categories.cat_id = videos.cat_id 
    WHERE date <= '2011-11-21 09:12:18' 
    GROUP BY videos.video_id 
    HAVING is_favorite = 1
    ORDER BY (votesdown / votesup) ASC 
    LIMIT 0, 5 
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 运动想象脑电信号数据集.vhdr
  • ¥15 三因素重复测量数据R语句编写,不存在交互作用
  • ¥15 微信会员卡等级和折扣规则
  • ¥15 微信公众平台自制会员卡可以通过收款码收款码收款进行自动积分吗
  • ¥15 随身WiFi网络灯亮但是没有网络,如何解决?
  • ¥15 gdf格式的脑电数据如何处理matlab
  • ¥20 重新写的代码替换了之后运行hbuliderx就这样了
  • ¥100 监控抖音用户作品更新可以微信公众号提醒
  • ¥15 UE5 如何可以不渲染HDRIBackdrop背景
  • ¥70 2048小游戏毕设项目