Bulk of WP’s native data structures aren’t meant for direct MySQL access. They are typically accessed via PHP APIs which take care of MySQL generation/execution and many more things, such as allowing to filter data, caching it for performance, and so on.
Your issue here is that from MySQL point of view meta values aren’t related to each other, but only to their posts. Also note that it’s perfectly valid to have multiple meta values with same meta key, it’s not constrained to be unique.
So WP mechanics would be to:
- Retrieve all posts (or just post IDs) for
United Kingdom
via API. - Loop through the set and retrieve necessary meta information via API.
Once you get that working you can take a look on queries generated under the hood and move on to something closer to database, using them.
Related Posts:
- Cannot add or update a child row: a foreign key constraint fails
- Cannot add or update a child row: a foreign key constraint fails
- Cannot delete or update a parent row: a foreign key constraint fails
- ERROR 2003 (HY000): Can’t connect to MySQL server on localhost (10061)
- Rename a column in MySQL
- Not unique table/alias
- Install mysql-python (Windows)
- #1055 – Expression of SELECT list is not in GROUP BY clause and contains nonaggregated column this is incompatible with sql_mode=only_full_group_by
- Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (2)
- Select from multiple tables without a join?
- SQL Query Where Field DOES NOT Contain $x
- Disable ONLY_FULL_GROUP_BY
- MySQL WHERE IN ()
- SELECT list is not in GROUP BY clause and contains nonaggregated column …. incompatible with sql_mode=only_full_group_by
- Host ‘xxx.xx.xxx.xxx’ is not allowed to connect to this MySQL server
- difference between primary key and unique key
- How to export a mysql database using Command Prompt?
- mysqld_safe Directory ‘/var/run/mysqld’ for UNIX socket file don’t exists
- Order a MySQL table by two columns
- MySQL AS keyword
- Should I use the datetime or timestamp data type in MySQL?
- Access denied; you need (at least one of) the SUPER privilege(s) for this operation
- MySQL Error #1133 – Can’t find any matching row in the user table
- How can I prevent SQL injection in PHP?
- Best way to store an array in MySQL database?
- MySQL date formats – difficulty Inserting a date
- How to grant remote access permissions to mysql server for user?
- How to check if mysql database exists
- #1062 – Duplicate entry for key ‘PRIMARY’
- How can I convert a string to a float in mysql?
- Is there a Profiler equivalent for MySql?
- How to use greater than operator with date?
- Drop all databases in MySQL
- Data is not constantly loading from custom wordpress table
- How to replace the domain name in a WordPress database?
- Mysqldump add drop table?
- Optimize WordPress Query that take 5 seconds to execute
- MySQL Replication Latency Issues in wp-admin pages
- Increment value (value = value+1) of $wpdb->update
- #1115 – Unknown character set: ‘utf8mb4’
- How can I debug my database connection for unit testing?
- Extending the database
- SQL query not working in alphabetical post title/content search
- Universal problem: first request after ~25 second inactivity always slower (~1 second) than subsequent requests (~1/10sec)
- Importing MariaDB into Mysql in WordPress
- How to get a Google maps SQL->XML->map marker tutorial to work in WordPress
- Converting mysql to $wpdb
- Best settings for MySQL to speed up site? [closed]
- Update a WordPress post or page takes 60+ seconds
- HTML Entities in Post Title
- add_post_meta does not respect the content
- Modify MySQL Query Based on Dropdown Menu
- Select multiple wp_postmeta keys with single select
- Can’t find my wordpress DB in phpmyadmin
- Backing up and restoring multiple sites efficiently
- Alter wp_post table vs. post_meta performance/speed
- Calculate average crossing post categories
- Many slow queries post_type = ‘attachment’;
- SQL command to convert all tags in lowercase?
- Are these WordPress tables safe to add indexes to?
- Is it possible to create a WordPress table using array and loop?
- SQL syntax error when getting data for a url
- Import CSV to MySQL, with custom registration field information
- Locally restoring a ManageWP full site backup
- WordPress doesn’t save changes some times
- Match tag names with form titles
- Error missing MySQL extension
- Update Custom Post Type Taxonomies with SQL
- Getting Error Trying to Create Table
- Custom SELECT Query not returning the_title and the_permalink
- Why doesn’t custom mysql query return results? Is syntax correct?
- $wpdb->get_var multiple queries in one database check
- Insert two row in wordpress database
- SQL statement using placeholder is not returning results
- How to Bulk find and replace MySQL for post image url
- Data is not constatntly loading from custom wordpress table
- Mysql Server keeps crashing
- Wpdb query with dynamic table name
- How to add virtual column in wpdb get_result statement
- Regular XML-RPC timeouts
- update multiple rows in mysqli table base on two values
- How can I verify WordPress nonce from the following code?
- How to write in MySQL more characters in user_nicename
- $wpdb->get_var not returning count
- Custom user query – orderby meta_key (that may not exist)
- Weird characters displayed when importing WordPress MySQL db
- How to get Attachments(image) with specific width\height ratio
- What is the cron doing?
- Apache Redirect based on WordPress permissions
- SQL error on restoring database
- MySQL database gives blank page (white screen of death)
- Datatabase error: Commands out of sync
- optimise SQL wordpress call
- why is $wpdb->update() causing a DB error from within wp_set_password()
- Global MySQL replacing of text patterns/matches
- Initialization of table in database using ‘CREATE … IF NOT EXISTS’
- mysqldump throws: Unknown table ‘COLUMN_STATISTICS’ in information_schema (1109)
- How do I load a sql.gz file to my database? (importing)
- Batch Replace URLs in WordPress Database
- How to reduce uncached page generation time?